#lang racket

(define (dec n)
  (- n 1)
  )

(define (fib n)
  (cond
    [(zero? n) 1]
    [(= n 1) 1]
    [else (+ (fib (- n 1)) (fib (- n 2)))]))

(define (fib-tbl n)
  (cond
    [(zero? n) empty]
    [else (cons (fib n)
                (fib-tbl (dec n)))])
  )

; Test
(fib 4)
(fib-tbl 4)